1. Field of the Invention
The present invention relates generally to programmable controllers of the type used in industrial automation. More particularly, the invention pertains to a system and method for module assignment of individual input/output (I/O) modules connected across a backplane.
2. Description of the Prior Art
A programmable controller is a type of general purpose industrial computer which controls the operation of industrial or factory automation equipment or processes, such as an assembly line or a machine tool, in accordance with a stored program. The stored program includes a series of instructions or commands that direct the programmable controller to execute actions.
One conventional type of programmable controller includes a rack that contains functional modules. A rack backplane provides signal buses and connectors for electrically coupling the functional modules. One functional module is a control module that has a processor which sequentially executes the control program stored in memory of the control module. Other functional modules include I/O modules that are provided to interface various input and output devices to the processor. The I/O modules are placed or inserted into the rack. The location of the I/O module in the rack typically defines the address to reference each connected device. Other known programmable controller systems allow the user to select or set the addresses for each module by setting internal switches.
Therefore, it is desirable to improve the module number selection to be well suited for rackless programmable controller systems, as well as provide ease of interchangeability of I/O modules and operator identification where the I/O modules are not preset by user selected switches or dictated by rack locations. As will be described in greater detail hereinafter, the system and method of the present invention accomplishes these tasks and employs a number of novel features that render it highly advantageous over the prior art.
Accordingly, it is an object of this invention to provide an improved programmable controller system.
Another object of this invention is to provide a method and system for assigning module numbers to I/O modules of a programmable controller system.
Still another object of this invention is to provide a method and system that allows banks of I/O modules to be positioned by a user in a desired orientation with the module numbers of the respective I/O modules being automatically assigned module numbers in accordance with an operator-friendly module identification system.
To achieve the foregoing and other objectives, and in accordance with the purposes of the present invention, a programmable controller system is provided having an I/O module number assignment routine. The system includes a control module or master controller having a processor that executes the control program stored in memory of the control module. A plurality of I/O modules are operatively connected to the master controller across a backplane for communication therewith. The I/O modules form at least two banks of I/O modules. An individual module number or address is assigned to each of the plurality of I/O modules based on a successive position of each I/O module relative to the master controller and based on the I/O modules of each bank being numbered in succession in a predetermined direction through each bank.
In accordance with another aspect of the present invention, a method is provided for assigning address numbers to I/O modules of a programmable controller system having a master controller. The method includes the following steps: serially connecting a plurality of I/O modules to the master controller for communication therewith; assigning relative addresses to each of the I/O modules in successive order by checking the status of an I/O module""s left and right input signals, setting the module address of the I/O module and setting a module direction bit of the I/O module based on the left and right input signals, and repeating the steps of checking and setting for each succeeding I/O module downstream from the master controller; and assigning module addresses to each of the I/O modules based initially on the relative addresses. Banks formed of immediately adjacent I/O modules have module addresses for each respective bank being assigned in succeeding order in a predetermined direction by iteratively determining the direction of I/O modules based on the module direction bit and reversing the successive order of module addresses for I/O modules within a bank having a successive order in a direction opposite from a predetermined direction.
Other objects, features and advantages of the invention will become more readily apparent upon reference to the following description when taken in conjunction with the accompanying drawings, which drawings illustrate several embodiments of the invention.